package 程序员面试金典;

/**
 * 面试题 05.06. 整数转换
 * 整数转换。编写一个函数，确定需要改变几个位才能将整数A转成整数B。
 *
 * 示例1:
 *
 *  输入：A = 29 （或者0b11101）, B = 15（或者0b01111）
 *  输出：2
 * 示例2:
 *
 *  输入：A = 1，B = 2
 *  输出：2
 * 提示:
 *
 * A，B范围在[-2147483648, 2147483647]之间
 */
public class T05_06 {
    //直接异或 然后统计1的个数 异或: 相同为0 相异为1
    public int convertInteger(int A, int B) {
        //Integer.bitCount(int) 统计一个整数 二进制中 1 的个数
      return   Integer.bitCount(A^B);
    }
}
